home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 26 / AACD 26.iso / AACD / Programming / AllPlaton / Ben3D / BenEditor.AMOS / BenEditor.amosSourceCode < prev    next >
Encoding:
AMOS Source Code  |  1995-03-07  |  1.7 KB  |  78 lines

  1. ' Ben Editor 
  2. ' Angefangen und nie beendet... kannst probieren, damit ein Level zu machen
  3. ' aber viel funktioniert nicht... gespeichert wird mit der Taste Shift-S.
  4. Dim F(5+19+5,5+19+5,1)
  5. 'GRABICONS 
  6. Unpack 8 To 0
  7. Change Mouse 2
  8. Make Icon Mask 
  9. LL=20*20*2+128
  10. Reserve As Work 10,LL
  11. For YS=0 To 19
  12.   For XS=0 To 19
  13.     F(XS+5,YS+5,0)=0
  14.     F(XS+5,YS+5,1)=0
  15.     Paste Icon XS*8+16,YS*8+24,1
  16.   Next 
  17. Next 
  18. S=1 : Gosub CHARUP
  19. Gosub LOALEV
  20. Do 
  21.   Multi Wait 
  22.   M=Mouse Key : XM=X Screen(X Mouse) : YM=Y Screen(Y Mouse)
  23.   I$=Upper$(Inkey$)
  24.   XB=(XM-16)/8 : YB=(YM-24)/8
  25.   If XB<0 or XB>19 or YB<0 or YB>19 Then XB=-1 : YB=-1
  26.   XF=(XM-200)/8 : YF=(YM-120)/8
  27.   If XF<0 or XF>11 or YF<0 or YF>3 Then XF=-1 : YF=-1
  28.   If I$="S" Then Gosub SAVLEV
  29.   If M and XB>-1 Then Gosub PASBLOCK
  30.   If M and XF>-1 and XF+YF*12<ANZ Then S=XF+YF*12
  31. Loop 
  32. PASBLOCK:
  33.   If M=2 Then CB=0
  34.   If M=1 Then CB=S
  35.   F(XB+5,YB+5,0)=CB
  36.   Paste Icon XB*8+16,YB*8+24,1+CB
  37. Return 
  38. LOALEV:
  39.   ST=Start(10)
  40.   Bload "BenLevels/1",ST
  41.   For YS=0 To 19
  42.     For XS=0 To 19
  43.       F(XS+5,YS+5,0)=Peek(ST+XS*2+YS*40)
  44.       F(XS+5,YS+5,1)=Peek(ST+XS*2+YS*40+1)
  45.     Next 
  46.   Next 
  47.   For YS=0 To 19
  48.     For XS=0 To 19
  49.       Paste Icon XS*8+16,YS*8+24,F(XS+5,YS+5,0)+1
  50.     Next 
  51.   Next 
  52. Return 
  53. SAVLEV:
  54.   ST=Start(10)
  55.   For YS=0 To 19
  56.     For XS=0 To 19
  57.       Poke ST+XS*2+YS*40,F(XS+5,YS+5,0)
  58.       Poke ST+XS*2+YS*40+1,F(XS+5,YS+5,1)
  59.     Next 
  60.   Next 
  61.   Bsave "BenLevels/1",ST To ST+LL
  62. Return 
  63. End 
  64. CHARUP:
  65.   BAS=0 : ANZ=47
  66.   For A=0 To ANZ
  67.     Paste Icon 200+(A mod 12)*8,120+A/12*8,A+BAS+1
  68.   Next 
  69. Return 
  70. Procedure GRABICONS
  71.   Load Iff "BenEditorDat.iff",0
  72.   Screen Offset 0,0,0
  73.   Screen Display 0,128,40,320,264
  74.   Colour 0,0
  75.   For A=0 To 47
  76.     Get Icon A+1,(A mod 40)*8,A/40*8 To(A mod 40)*8+8,A/40*8+8
  77.   Next 
  78. End Proc